Methods and apparatus to identify media

ABSTRACT

Methods and apparatus for identifying media are described. An example method includes determining application identification information for a media presentation application executing on a media device, determining a first watermark for the application identification information from a lookup table, requesting media identification information for media from the media presentation application, determining a second watermark for the media identification information from the lookup table, inserting the first watermark in the media prior to output of the media by the media device, and inserting the second watermark in the media prior to the output of the media by the media device.

FIELD OF THE DISCLOSURE

This disclosure relates generally to media, and, more particularly, to methods and apparatus to identify media.

BACKGROUND

Media producers, media providers, advertisers, product manufactures represented in advertisements, and many other entities utilize information about the presentation of media. Such information is often collected through the use of panels comprised of persons (e.g., panelists) who have agreed to have their exposure to media monitored. For example, audio of media may be transmitted with identifying information (e.g., embedded watermarks or codes) that identifies the media. Panelists may be supplied with meters (e.g., portable meters carried and/or worn by the panelists) that collect the audio and extract the identifying information. The information may be transmitted to a collection facility where the results from multiple panelists are combined to generate reports comprising information about media presentation.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of an example system constructed in accordance with the techniques of this disclosure for identifying media.

FIGS. 2 and 3 illustrate example lookup tables.

FIG. 4 is a block diagram of the example identification generator of FIG. 1.

FIG. 5 is a table illustrating a sequence of example watermarks inserted in media.

FIG. 6 is a flowchart representative of example machine readable instructions that may be executed to implement the example identification generator of FIG. 1.

FIG. 7 illustrates example packaging for the media presentation device of FIG. 1.

FIG. 8 is a flowchart representative of example machine readable instructions for enabling monitoring functionality on the media presentation device of FIG. 1.

FIG. 9 is a block diagram of an example processing system that may execute the example machine readable instructions of FIGS. 6 and/or 8 to implement the example identification generator of FIGS. 1 and/or 4.

DETAILED DESCRIPTION

Embedding identification information in media (e.g., content, advertisements, audio, video, movies, commercials, television programs, radio programs, video games, etc.) is often performed at or on behalf of a media provider. Such embedding relies on cooperation with media providers. Obtaining such cooperation may be complicated due to the large number of media providers across different media platforms (e.g., terrestrial television, cable television, satellite television, Internet television, Sony PlayStation®video games, Nintendo® video games, Microsoft® video games, movie producers, video on demand, CD's, DVD's, etc.). Furthermore, media providers may be unwilling or unable to cooperate.

Methods and apparatus described herein embed identification information in media utilizing a media presentation device that renders the media for presentation (e.g., a media presentation device at a panelist home). In some examples, such methods and apparatus rely on little or no cooperation from media providers. The use of computational resources of the media providers is, thus, reduced. Furthermore, by embedding identification at the media presentation device, further information about the audience/the device and/or applications executing on the device can be included in the embedded identification information.

In some disclosed examples, a media presentation device determines identification information for an application executing on the media presentation device. For example, the application may be an application controlling media presentation (e.g., an operation system component presenting a video game, a cloud video distribution application (e.g., Netflix®, Hulu®, MLBtv®, etc.), a digital versatile disk (DVD) decoding application, a Flash program, etc.). The media presentation device determines an identifier for the application by consulting a lookup table. The media presentation device inserts the identifier as a watermark in the media so that the media is presented with the embedded watermark identifier. In some examples, the media presentation device additionally or alternatively determines identification information for media presented by the application (e.g., a manufacturer identification number embedded in a video game DVD, an identifier of a video distributed by a cloud video distribution application, metadata associated with media, an originating internet protocol address of streaming media, etc.). The media presentation device determines an identifier for the media by consulting a lookup table (e.g., a second lookup table) or algorithm to produce an appropriate watermark identifier. The media presentation device inserts the identifier for the media as a watermark in the media. In some examples, a first level watermark (e.g., corresponding to the application identifier) and a second level watermark (e.g., corresponding to the media identifier) are inserted in the media in an interleaved manner. Where two levels of watermarks are used, the first level can be used to identify the media content, and the second level can identify the media presentation device or application. In some examples, after the watermarked media output by the media presentation device, the watermarks are detected by a meter and are sent to a data collection facility for analysis and/or reporting.

In examples disclosed herein, any type of watermarking (e.g., video watermarking, audio watermark, etc.) or any other technique for embedding identifying information in media may be utilized. For example, watermarks may be embedded as Nielsen Watermarks codes (a.k.a. Nielsen codes) of The Nielsen Company (US), LLC, as Arbitron audio encoding watermarks, etc. Example methods, systems, and apparatus to encode and/or decode audio watermarks are disclosed in U.S. patent application Ser. No. 12/551,220, entitled “Methods and Apparatus to Perform Audio Watermarking and Watermark Detection and Extraction,” filed Aug. 31, 2009, U.S. patent application Ser. No. 12/464,811, entitled “Methods and Apparatus to Perform Audio Watermarking and Watermark Detection and Extraction,” filed May 12, 2009, U.S. patent application Ser. No. 12/249,619, entitled “Methods and Apparatus to Perform Audio Watermarking Detection and Extraction,” filed Oct. 10, 2008, all of which are hereby incorporated by reference in their entireties.

FIG. 1 is a block diagram of an example system 100 constructed in accordance with the techniques of this disclosure for identifying media. The example system 100 includes a media presentation device 102, a meter 108, and a monitoring facility 110. In the illustrated example, media may be delivered to the media presentation device 102 via one or more media providers 106. Such media may be provided via a network 104, via a terrestrial broadcast system, via a satellite broadcast system, via an Internet broadcast system, etc. Media may also be provided to the media presentation device 102 on removable media 122 that is described in further detail herein.

The media presentation device 102 of the illustrated example receives and/or outputs media for presentation. For example, the media presentation device 102 may be a set-top box, an integrated receiver decoder, a video game console, a disk media player (e.g., a DVD player, Blu-ray player, a compact disk (CD) player), a television, a computing device, etc. The media presentation device 102 may present the media via an integrated output device (e.g., where the media presentation device 102 is a television) or via a second device (e.g., via external speakers and/or video display). Thus, the media presentation device 102 may output the media via its own functionality and/or to another device that presents the media (e.g., a television, speakers, etc.). The example media presentation device 102 of FIG. 1 includes a media application 120, removable media 122, a media rendering engine 124, an identification generator 126, a watermark generator 127, and a lookup table 128.

The media application 120 interfaces with and causes presentation of media by the media rendering engine 124. The media application may be integrated with an operating system of the media presentation device 102 (e.g., an application to present video games on gaming disks inserted in a Sony PlayStation) or may be an application apart from the operating system (e.g., an application associated with an entity different from the manufacturer of the media presentation device 102 such as a Netflix application executing on a Sony PlayStation). The media may be stored on a removable tangible storage medium 122 (e.g., a DVD, a CD, a Blu-ray, a flash memory), retrieved from the media provider 106 via the network 104, obtained from a broadcast or unicast system, stored on a local tangible storage medium of the media presentation device 102 (e.g., a hard disk drive), or stored on any other tangible storage medium.

The media application 120 directs the media to the media rendering engine 124 for rendering and presentation. The media application 120 of the illustrated example also includes an interface 121 (e.g., an application programming interface (API)) that enables the identification generator 126 to obtain information about media handled by the media application 120. The identification generator 126 and access to the identification information are described in further detail below. In some examples, while the operating system of the media presentation device 102 is aware of the identity of the media application 120 the media presentation device 102 may not be apprised of the identity of media presented by the media application 120. In such examples, the media application 120 may allow the identification generator 126 to access identifying information for the media (e.g., using the API 121 or any other interface to the media application 120).

The media rendering engine 124 of the illustrated example receives media via the media application 120 and renders the media for presentation. For example, the media rendering engine 124 may include an audio subsystem to render audio for presentation, a video subsystem to render video for presentation, etc. For example, if the example media presentation device 102 is implemented as a video gaming system, the media rendering engine 124 may render the media as it is dynamically generated by the media application 120 in order to display the gaming environment. For example, if the example media presentation device 102 is presenting a movie on a DVD, the media rendering engine 124 decodes and renders the movie for presentation on a display.

The media rendering engine 124 of the illustrated example also includes an interface (e.g., an API) that allows the identification generator 126 to access the media to be rendered. For example, the identification generator 126 of the illustrated example cooperates with the watermarking generator 127 by sending the media watermark generator 127 for watermarking prior to output of the media by the media presentation device 102. For example, the watermark generator 127 may access the media and embed watermarks in real-time as the media is rendered. Such real-time encoding may be advantageous in, for example, video gaming media presentation devices 102 where the media (e.g., the audio of the media) is dynamic and based on the play of the game.

The example identification generator 126 of the illustrated example determines application identification information for the media application 120 via an operating system of the media presentation device 102. Alternatively, the identification generator 126 may determine the application identification information for the media application 120 from any other source (e.g., by querying the API 121 of the media application 120). The application identification information for the media application 120 may be a name of the media application 120, an identification number of the media application 120, a globally unique identifier (GUID) of the media application 120, a manufacturer identifiers, an identifier embedded in the application, or any other unique or semi-unique identifier for the media.

The example identification generator 126 also determines media identification information for media to be presented by and/or currently presented by the media application 120 by querying the API 121 of the media application 120. The media identification information may be any information useful for identifying the media such as a name of the media, an identification number for the media (e.g., an identification number embedded in the media, an identification number embedded on a storage disk on which the media is stored, etc.), an identifier embedded in the media, a manufacturer identifier, or any other unique or semi-unique identifier for the media.

The identification generator 126 of the illustrated example accesses the lookup table 128 using the application identification information for the media application 120 and/or the media identification information for the media to determine application and/or media identification information to be embedded in the media. In particular, the example identification generator 126 determines application identification information to be embedded in a first watermark identifying the media application 120 and media identification information to be embedded in a second watermark identifying the media. The identification generator 126 passes application and/or media identifying information to the watermark generator 127. The watermark generator 127 generates the watermark(s) and inserts the watermark in media received from the media rendering engine 124. For example, the watermark generator 127 may generate watermark(s) as audio having tones at emphasized frequencies that are integrated with the audio of the media from the media rendering engine 124. The audio watermarking tones may be generated using psychoacoustic masking to reduce the perceptibility of the watermark(s) by humans exposed to the audio.

The watermark generator 127 of the illustrated example embeds identifying information in media received from the media rendering engine 124. The watermark generator 127 may generate the watermarks using any technique for embedding identifying information in media (e.g., generating watermarks to be mixed into audio of the media, generating image watermarks to be overlaid on the video of the media, etc.). The watermark generator 127 receives the media from the media rendering engine 124 and inserts the watermark in the media. For example, the watermark generator 127 may generate the watermark information in real-time or almost real-time to insert the watermarks into the media without causing human-noticeable delay in the media rendering.

In the illustrated example, the watermark generator 127 interleaves a first watermark identifying the media application 120 with a second watermark identifying the media. For example, FIG. 5 is a table 500 illustrating a sample sequence of watermarks inserted into media by the watermark generator 127. As illustrated in FIG. 5, the example watermarks are inserted every two seconds and alternate between a Program Content (PC) watermark identifying media (e.g., Example Game 1 according to the lookup table 200 of FIG. 2) and a Final Distributor (FD) watermark identifying an executing media application (e.g., an example Game Platform operating software for presenting a video game according to the lookup table 300 of FIG. 3). In some examples, the FD watermarks are inserted in a 1:1 relationship with the PC watermarks. Alternatively, the watermarks may be inserted in different proportions (e.g., the media watermark may be presented more frequently when the application watermark changes less frequently).

Example implementations of the identification generator 126 and the watermark generator 127 are described in further detail in conjunction with FIG. 4.

The lookup table 128 of the illustrated examples associate application and/or media identification information with example watermark(s). The lookup table 128 of the illustrated example includes two tables as illustrated in FIGS. 2-3. The lookup table 200 of FIG. 2 associates media identifying information (e.g., manufacturer identifiers for video games in the illustrated example) and information to be inserted in the media via a watermark. In the illustrated example, the information to be inserted in the media via watermark(s) is Source Identifier and Time In Content fields that are often included in other types of watermarks (e.g., these fields are typically included in watermarks inserted by media providers at the instruction of media monitoring entities). For example, by utilizing watermarking fields that are commonly used (e.g., commonly used by media providers, such as a television media providers, to watermark media, the watermarks can be extracted by a metering device typically used for extracting such commonly used watermarks (e.g., a meter that is utilized to monitor media from television media providers). Accordingly, meters may not need to be modified to extract and communicate the watermarks described herein. The lookup table 300 of FIG. 3 associates application identifying information (e.g., information for applications of a video gaming platform) with a Watermark Type, Source Identifier, and Time In Content information to be inserted in media via watermark(s). While example fields of data to be included in a watermark are described any number and/or types of fields may be inserted in the media (e.g., inserted in the media as a watermark). The lookup table 128 may alternatively include any number of tables or may be implemented by a single table. The lookup table 128 may be implemented by any type of datastore for associating information including a table, a database, etc.

Returning to the system 100 of FIG. 1, the network 104 of the illustrated example communicatively couples the media presentation device 102 with the network 104, the media provider 106, and the monitoring facility 110. The example network 104 also communicatively couples the meter 108 to the monitoring facility 110. For example, the network 104 may be the Internet. Alternatively, the network 104 may be implemented by any number of networks such as local area networks, wide area networks, wireless networks, wired networks, etc.

The example media provider 106 of FIG. 1 provides media (e.g., on demand video media) to the media application 120 for presentation by the media presentation device 102. For example, the media provider 106 may provide cloud access to a library of movies (e.g., Netflix, Hulu, Amazon® videos, etc.). Additionally or alternatively, the media provider 106 may provide any other type(s) of media and may provide media in any other manner.

The meter 108 of the illustrated example detects the presentation of media by the media presentation 102 (e.g., media presented by components of the media presentation device 102 and/or media presented via another media presentation device such as a television) and extracts the watermark(s) embedded in the media. For example, the meter 108 may be a portable metering device carried by a member of a panel or a stationary meter located to meter a specific presentation device or set of presentation devices. The meter 108 may include a microphone that captures sound near the portable metering device. When such a meter 108 is near the media output by the media presentation device 102 the microphone captures the audio output by the media presentation device 102. The meter 108 of the illustrated example decodes the watermark(s) embedded in the audio. In alternative examples, the audio is sent to the monitoring facility 110 for watermark extraction. The example meter 108 of FIG. 1 temporarily stores the watermark(s) and/or media identifying information and/or application identifying information determined from watermark(s). The collected watermark(s) and/or identifying information are periodically and/or aperiodically exported to the monitoring facility 110. While a single meter 108 is illustrated in FIG. 1, any number of meters may be included in the system 100 (e.g., one meter per panelist, one meter per panel household, etc.). The meter 108 may be any type of meter such as one of the meters described in the applications incorporated in this patent by the foregoing incorporations by reference.

The monitoring facility 110 of the illustrated example receives information collected by the meter 108, stores the information, analyzes the information in conjunction with other data collected by other meters similar to the meter 108 of FIG. 1 but controlled to monitor other media presentation devices and/or panelist and/or generates reports. The example monitoring facility 110 of FIG. 1 periodically and/or aperiodically sends updated identifying information to the identification generator 126 for updating the lookup table 128. For example, periodically, aperiodically, automatically, manually, or at any other time, the monitoring facility 110 may send identifying information for new media (e.g., a new video game that is released) to the identification generator 126 via the network 104. Accordingly, the lookup table 128 can be updated to include the latest identifying information. Alternatively, the monitoring facility 110 may not update the lookup table 128 or may provide updates to the lookup table 128 in any other manner.

According to the illustrated example, the identification generator 126, the watermark generator 127, and the lookup table 128 are provided by an operator of the monitoring facility 110 to a manufacturer of the media presentation device 102 for inclusion in the media presentation device 102 at the time of manufacture. For example, the identification generator 126 may be provided as a software development kit (SDK) for integration in the media presentation device 102. In such examples, the identification generator 126, the watermark generator 127, and/or the lookup table 128 may exist dormant in the media presentation device unless and until a purchaser of the product agrees to become a panelist. A purchaser may agree to become a panelist in any way (e.g., by calling the monitoring company, entering data including the internet protocol address of the purchased device, accessing a menu in the purchased device, etc.). In such examples, the purchaser is provided an opportunity to become a panelist. For instance, a consumer electronic device such as a television or electronic gaming system may be sold as “ratings ready” (e.g., as illustrated in FIG. 8) and, optionally, a rebate on the purchase may be provided in exchange for the purchaser agreeing to be anonymously monitored by the embedded monitoring software. In some examples, activating the monitoring functionality includes providing demographic data to the monitoring entity and/or receiving approval of an agreement (e.g., by selecting an “I Agree” user input) when activating the monitoring functionality. Alternatively, the identification generator 120 and the lookup table 128 may be included in the media presentation device 102 in any other manner (e.g., implemented and integrated by the manufacturer of the media presentation device 102, installed on the media presentation device 102 by a user of the media presentation device 102, installed on the media presentation device 102 by an agent of an operator of the monitoring facility 110, pushed to the media presentation device 102 by the monitoring facility 110, and so forth.

FIG. 4 is a block diagram of an example implementation of the example identification generator 126 of FIG. 1. The example identification generator 126 of FIG. 4 includes a lookup table updater 402, a lookup table interface 404, a device interface 406, an application interface 408, and a data compiler 410.

The lookup table updater 402 receives updated identifying information for the lookup table 128 of FIG. 1 via, for example, the network, and updates the lookup table 128 via the lookup table interface 404. The lookup table updater 402 may add to, delete, and/or update information in the lookup table 128. According to the illustrated example, the updated media and/or application identifying information is received from the monitoring facility 110 via the network 104. Alternatively, updated identifying information may be received from any other source such as a removable storage associated with the media presentation device 102, data input by an operator of the media presentation device 102, etc.

The lookup table interface 404 is an interface to the lookup table 128 for the lookup table updater 402 and the data compiler 410. For example, the lookup table interface 404 may be a database engine that facilitates queries and/or other access to the lookup table 128. Alternatively, the lookup table interface 404 may be any other type of interface and/or may be integrated in one or both of the lookup table updater 402 and/or the data compiler 410.

The device interface 406 of the illustrated example interfaces with an operating system of the media presentation device 102 to obtain information about applications executing on (or about to execute on) the media presentation device 102. For example, the device interface 406 may obtain application identifying information for the media application 120 of FIG. 1 by querying the operating system of the media presentation device 102 for information about a currently executing application providing media. The device interface 406 may additionally or alternatively obtain application identifying information from a process listing, an API, a task list, processor instructions, etc. The device interface 406 provides the information about the applications to the data compiler 410.

The application interface 406 of the illustrated example interfaces to an application executing on the media presentation device 102 (e.g., the media application 120) to obtain information about media presented by (or about to be presented by) the application. For example, the application interface 406 may obtain identifying information for the media by querying the API 121 of the media application 120. In some examples, while the operating system of the media presentation device 102 is aware of the application executing on the media presentation device 102 (e.g., a Netflix application), the operating system may not be aware of the media presented by the application (e.g., a movie selected by an operator of the media presentation device 102). Accordingly, the application interface 406 can determine identifying information for the media even when the identifying information is not known to the operating system of the media presentation device 102. The application interface 406 provides the information about the media to the data compiler 410.

The data compiler 410 receives application identifying information f from the device interface 406 and receives media identifying information from the application interface 408. The data compiler 410 queries the lookup table 128 via the lookup table interface 404 to obtain watermark information for the identifying information, and passes the watermark information to the watermark generator 127 of FIG. 1 for insertion into the media.

While an example manner of implementing the example system 100 has been illustrated in FIG. 1 and an example manner of implementing the example identification generator 126 and/or the watermark generator 127 of FIG. 1 has been illustrated in FIG. 4, one or more of the elements, processes and/or devices illustrated in FIGS. 1 and/or 4 may be combined, divided, re-arranged, omitted, eliminated and/or implemented in any other way. Further, the example media presentation device 102, the example media provider 106, the example meter 108, the example monitoring facility 110, the example media application 120, the example media rendering engine 124, the identification generator 126, and the watermark generator 127 of FIG. 1 and the example lookup table updater 402, the example lookup table interface 404, the example device interface 406, the example application interface 408, and the example data compiler 410 of FIG. 4 and more generally the example system 100 of FIG. 1 may be implemented by hardware, software, firmware and/or any combination of hardware, software and/or firmware. Thus, the example media presentation device 102, the example media provider 106, the example meter 108, the example monitoring facility 110, the example media application 120, the example media rendering engine 124, the identification generator 126, and the watermark generator 127 of FIG. 1 and the example lookup table updater 402, the example lookup table interface 404, the example device interface 406, the example application interface 408, and the example data compiler 410 of FIG. 4 and more generally the example system 100 of FIG. 1 could be implemented by one or more circuit(s), programmable processor(s), application specific integrated circuit(s) (ASIC(s)), programmable logic device(s) (PLD(s)) and/or field programmable logic device(s) (FPLD(s)), etc. When any of the apparatus or system claims of this patent are read to cover a purely software and/or firmware implementation, at least one of the example media presentation device 102, the example media provider 106, the example meter 108, the example monitoring facility 110, the example media application 120, the example media rendering engine 124, the identification generator 126, and the watermark generator 127 of FIG. 1 and the example lookup table updater 402, the example lookup table interface 404, the example device interface 406, the example application interface 408, and the example data compiler 410 of FIG. 4 and more generally the example system 100 of FIG. 1 are hereby expressly defined to include a tangible computer readable storage medium such as a memory or storage disk (e.g., DVD, CD, Blu-ray, etc.) storing the software and/or firmware. Further still, the example media presentation device 102, the example media provider 106, the example meter 108, the example monitoring facility 110, the example media application 120, the example media rendering engine 124, the identification generator 126, and the watermark generator 127 of FIG. 1 and the example lookup table updater 402, the example lookup table interface 404, the example device interface 406, the example application interface 408, and the example data compiler 410 of FIG. 4 and more generally the example system 100 of FIG. 1 may include one or more elements, processes and/or devices in addition to, or instead of, those illustrated in FIGS. 1 and/or 4, and/or may include more than one of any or all of the illustrated elements, processes and devices.

Flowcharts representative of example machine readable instructions for implementing the identification generator 126 and/or the watermark generator 127 are shown in FIGS. 6 and/or 8. In the illustrated examples, the machine readable instructions comprise program(s) for execution by a processor such as the processor 912 shown in the example processing platform 900 discussed below in connection with FIG. 9. The program(s) may be embodied in software stored on a tangible computer readable storage medium such as a CD-ROM, a floppy disk, a hard drive, a digital versatile disk (DVD), a Blu-ray disk, or a memory associated with the processor 912, but the entire program(s) and/or parts thereof could alternatively be executed by a device other than the processor 912 and/or embodied in firmware or dedicated hardware. Further, although the example programs are described with reference to the flowcharts illustrated in FIGS. 6 and/or 8, many other methods of implementing, identification generator 126 and/or the watermark generator 127 may alternatively be used. For example, the order of execution of the blocks may be changed, and/or some of the blocks described may be changed, eliminated, or combined.

As mentioned above, the example processes of FIGS. 6 and/or 8 may be implemented using coded instructions (e.g., computer readable instructions) stored on a tangible computer readable storage medium such as a hard disk drive, a flash memory, a read-only memory (ROM), a compact disk (CD), a digital versatile disk (DVD), a cache, a random-access memory (RAM) and/or any other storage device or storage disk in which information is stored for any duration (e.g., for extended time periods, permanently, brief instances, for temporarily buffering, and/or for caching of the information). As used herein, the term tangible computer readable storage medium is expressly defined to include any type of computer readable storage device and/or storage disc, and to exclude propagating signals. Additionally or alternatively, the example processes of FIGS. 6 and/or 8 may be implemented using coded instructions (e.g., computer readable instructions) stored on a non-transitory computer readable medium such as a hard disk drive, a flash memory, a read-only memory, a compact disk, a digital versatile disk, a cache, a random-access memory and/or any other storage device or storage disk in which information is stored for any duration (e.g., for extended time periods, permanently, brief instances, for temporarily buffering, and/or for caching of the information). As used herein, the term non-transitory computer readable medium is expressly defined to include any type of computer readable device and/or storage disk, and to exclude propagating signals. As used herein, when the phrase “at least” is used as the transition term in a preamble of a claim, it is open-ended in the same manner as the term “comprising” is open ended. Thus, a claim using “at least” as the transition term in its preamble may include elements in addition to those expressly recited in the claim.

The instructions of FIG. 6 begin when the device interface 406 detects presentation of media by the media presentation device 102 (block 602). For example, the device interface 406 may detect that the media application 120 has been initialized, that a command to present media has been issued, that a notification has been received from an operation system of the media presentation device 102 (e.g., due to a built-in event notification of the operation system), that a notification has been received from the application 120, etc. At block 604, the device interface 406 detects application identifying information for the media application 120 (block 604). The data compiler 410 next determines watermark identifier(s) for the application by querying the lookup table 128 via the lookup table interface 404 and using the detected application identifying information (block 606). The watermark generator 127 then generates a watermark based on the determined identifier(s) (block 608). The watermark may be static for the duration of the presentation of the media and, thus, the detection of identifying information may be performed once for the duration of the presentation of the media. Alternatively, the watermark may be dynamically generated throughout the presentation of the media and, thus, the detection of identifying information may be performed throughout the presentation of the media.

The watermark generator 127 acquires the audio of the media from the media rendering engine 124, processes the audio to inject the watermark into the audio, and returns the audio to the media rendering engine 124 (block 610). Alternatively, the watermark generator 127 may obtain and inject the watermark into video, may obtain and inject the watermark into audio and video of the media, or use any other process for watermarking media. The watermark generator 127 may be configured to always receive the audio and/or video from the media rendering engine 124. Alternatively, the watermark generator 127 may periodically receive the audio and/or video, may aperiodically receive the audio and/or video, may receive the audio and/or video upon a request from the watermark generator 127 to the media rendering engine 124, etc. The watermark generator 127 may generate a watermark including identifying information for the application in the fields of the watermark typically dedicated to the identification of media. For example, a Source Identifier field of a watermark is typically filled with information identifying a media provider, channel, broadcaster, etc. that provided media and a Time In Content field is typically filled with information indicating a position (e.g., time) from the beginning of the media. The example watermark generator 127 generates the watermark for the application as a Final Distributor watermark.

Next, the application interface 408 retrieves identifying information for the media from the media application 120 (block 612). The watermark generator 127 next determines an identifier(s) for the media by querying the lookup table 128 via the lookup table interface 404 and using the detected identifying information for the media (block 614). The data compiler 410 next determines watermark identifier(s) for the application by querying the lookup table 128 via the lookup table interface 404 and using the detected application identifying information (block 606). The watermark generator 127 then generates a watermark based on the determined identifier(s) (block 616). The watermark generator 127 acquires the audio of the media from the media rendering engine 124 (e.g., in real-time), processes the audio to inject the watermark into the audio, and returns the audio to the media rendering engine 124 (block 618). Alternatively, the watermark generator 127 may obtain and inject the watermark into video, may obtain and inject the watermark into audio and video of the media, or use any other process for watermarking media. For example, the watermark generator 127 may generate a watermark including identifying information for the application in the fields of the watermark typically dedicated to the identification of media (e.g., the Source Identifier field and the Time In Content field). The example watermark generator 127 generates the watermark for the media as a Program Content watermark.

The example instructions of FIG. 6 are complete after block 618. Alternatively, the identification generator 126 may continue to insert the generated watermarks alternating or interleaving the watermarks in the media output by the media rendering engine 122 of the media presentation device. In some examples, the identification generator 126 may include additional information in the watermark(s). For example, the watermark(s) may include an indication of the amount of time that the media is presented, information identifying portions of the media (e.g., a level of a video game, a timecode of a video, etc.), and so forth.

While the foregoing describes generating and inserting an application watermark and then generating and inserting a media watermark other implementations are possible. For example, an application watermark may be utilized without a media watermark or a media watermark may be utilized without an application watermark. Alternatively, separate processes may be utilized for application watermarking and media watermarking. In such instances, the separate processes may run in parallel, in series, and/or each process may execute without regard to the other process. In some implementations, the watermark generator 127 may check for previously inserted watermarks before inserting a watermark in media. For example, the watermark generator 127 may determine that a media watermark has already been inserted when inserting an application watermark. When a previously inserted watermark has been detected, the watermark generator 127 may utilize any known technique for inserting an additional watermark (e.g., inserting the watermark at a different time, inserting the watermark using a different encoding technique, inserting the watermark at a different frequency, setting a flag indicating the presence of multiple watermarks, etc.).

While the foregoing describes determining watermarking information using a lookup table that associates information associated with media and applications (e.g., manufacturer identifiers) with the watermark information, other approaches for determining watermark information to be inserted into media may be utilized. For example, the media identifying information and/or the application identifying information may be inserted into the watermark (e.g., in a Time in Content field and/or in a Source Identifier field). In some instances, the size(s) of the media identifying information and/or the application identifying information may exceed the capacity of the watermark payload (or may be undesirably large such that the watermarks will exceed a desired length). In such instances, the identifying information may be compacted to a size that is less than the capacity of the watermark payload and/or a size that is a less than a desired threshold. For example, if a DVD identifier on a disk is ‘xyz123abc456’ includes a portion that uniquely identifies the media (e.g., ‘abc456’) and a portion that identifies information not unique to the media (e.g., a genre, a production studio, a rating, etc.), the identification generator 126 may compact the identifier to the unique portion (e.g., ‘abc456’) removing the non-unique portion. Thus, the shorter, unique portion of the identifier can be inserted in a watermark payload.

FIG. 7 illustrates example packaging 702 for the media presentation device 102 of FIG. 1. According to the illustrated example, the media presentation device 102 is an electronic gaming system. The example packaging 702 includes a label 704 indicating that the media presentation device 102 is ‘ratings ready.’ For example, the indication of ‘ratings ready’ indicates to a purchaser that the media presentation device 102 has been implemented to monitor usage and send monitoring information as described in conjunction with FIG. 1. For example, the manufacturer of the media presentation device may have received an SDK from a monitoring entity and may have implemented the SDK in the media presentation device to perform the monitoring and sending monitoring information to the monitoring entity. The media presentation device 102 may be configured to perform monitoring as soon as the media presentation device 102 is powered on. Alternatively, the media presentation device 102 may request user input (e.g., accepting an agreement, enabling a setting, installing functionality (e.g., downloading monitoring functionality from the internet and installing the functionality, etc.) before enabling monitoring. Alternatively, a manufacturer of a media presentation device 102 may not include monitoring functionality in the media presentation device 102 at the time of purchase. In such instances, the monitoring functionality may be made available by the manufacturer, by a monitoring entity, by a third party, etc. for retrieval/download and installation on the media presentation device 102.

FIG. 8 is a flowchart representative of example machine readable instructions for enabling monitoring functionality on the media presentation device 102 (e.g., to implement functionality of the identification generator 126). The instructions of FIG. 8 may be utilized when the media presentation device 102 is not enabled for monitoring by default (e.g., upon purchase of the media presentation device 102). The example instructions of FIG. 8 begin when the media presentation device 102 is powered on. Alternatively, the instructions may begin when a user of the media presentation device accesses a menu to enable monitoring.

The media presentation device 102 displays an agreement that explains the monitoring process, requests consent for monitoring usage of the media presentation device 102, provides options for agreeing (e.g., an ‘I Agree’ button) or disagreeing (‘I Disagree’) (block 802). The media presentation device 102 then waits for a user to indicate a selection (block 804). When the user indicates that they disagree (e.g., do not want to enable monitoring), the instructions of FIG. 8 terminate. When the user indicates that they agree (e.g., that they want to be monitored), the media presentation device 102 obtains demographic information from the user (block 804). For example, the media presentation device 102 may display a form requesting demographic information (e.g., number of people in the household, ages, occupations, etc.). The media presentation device 102 transmits the demographic information to the monitoring entity (block 808). Transmitting the demographic information may indicate to the monitoring entity that monitoring at the media presentation device 102 is authorized. The monitoring entity may authorize a rebate for the consumer transmitting the demographic information and/or for registering for monitoring. The monitoring entity may transmit an identifier (e.g., a panelist identifier) to the media presentation device 102 for uniquely identifying monitoring information sent from the media presentation device 102 to the monitoring entity. The media presentation device 102 then enables monitoring of media presented by the media presentation device 102 (block 810). The instructions of FIG. 8 are then terminated.

FIG. 9 is a block diagram of an example processor platform 900 capable of executing the instructions of FIGS. 6 and 8 to implement the apparatus of FIGS. 1 and 4. The processor platform 900 can be, for example, a server, a personal computer, a mobile phone (e.g., a cell phone), a personal digital assistant (PDA), an Internet appliance, a DVD player, a CD player, a digital video recorder, a Blu-ray player, a gaming console, a personal video recorder, a set top box, or any other type of computing device.

The processor platform 900 of the instant example includes a processor 912. For example, the processor 912 can be implemented by one or more microprocessors or controllers from any desired family or manufacturer.

The processor 912 includes a local memory 913 (e.g., a cache) and is in communication with a main memory including a volatile memory 916 and a non-volatile memory 914 via a bus 918. The volatile memory 916 may be implemented by Synchronous Dynamic Random Access Memory (SDRAM), Dynamic Random Access Memory (DRAM), RAMBUS Dynamic Random Access Memory (RDRAM) and/or any other type of random access memory device. The non-volatile memory 914 may be implemented by flash memory and/or any other desired type of memory device. Access to the main memory 914, 916 is controlled by a memory controller.

The processor platform 900 also includes an interface circuit 920. The interface circuit 920 may be implemented by any type of interface standard, such as an Ethernet interface, a universal serial bus (USB), and/or a PCI express interface.

One or more input devices 922 are connected to the interface circuit 920. The input device(s) 922 permit a user to enter data and commands into the processor 912. The input device(s) can be implemented by, for example, a keyboard, a mouse, a touchscreen, a track-pad, a trackball, isopoint and/or a voice recognition system.

One or more output devices 924 are also connected to the interface circuit 920. The output devices 924 can be implemented, for example, by display devices (e.g., a liquid crystal display, a cathode ray tube display (CRT), a printer and/or speakers). The interface circuit 920, thus, typically includes a graphics driver card.

The interface circuit 920 also includes a communication device such as a modem or network interface card to facilitate exchange of data with external computers via a network 926 (e.g., an Ethernet connection, a digital subscriber line (DSL), a telephone line, coaxial cable, a cellular telephone system, etc.).

The processor platform 900 also includes one or more mass storage devices 928 for storing software and data. Examples of such mass storage devices 928 include floppy disk drives, hard drive disks, compact disk drives and digital versatile disk (DVD) drives. The mass storage device 928 may implement the example lookup table 128 of FIG. 1 and/or any other storage element.

The coded instructions 932 of FIGS. 6 and 8 may be stored in the mass storage device 928, in the volatile memory 914, in the non-volatile memory 916, and/or on a removable storage medium such as a CD or DVD.

Although certain example methods, apparatus and articles of manufacture have been described herein, the scope of coverage of this patent is not limited thereto. On the contrary, this patent covers all methods, apparatus and articles of manufacture fairly falling within the scope of the claims of this patent. 

What is claimed is:
 1. A method comprising: determining application identification information for a media presentation application executing on a media device; determining a first watermark for the application identification information from a lookup table; requesting media identification information for media from the media presentation application; determining a second watermark for the media identification information from the lookup table; inserting the first watermark in the media prior to output of the media by the media device; and inserting the second watermark in the media prior to the output of the media by the media device.
 2. A method as defined in claim 1, wherein the first watermark is a final distributor watermark and the second watermark is a program content watermark.
 3. A method as defined in claim 1, wherein a time in content field of the second watermark indicates the media identification information.
 4. A method as defined in claim 3, wherein a source identifier field of the second watermark indicates a platform of the media.
 5. A method as defined in claim 1, wherein a time in content field of the first watermark indicates the application identification information.
 6. A method as defined in claim 5, wherein the first watermark is inserted in the media substantially immediately after the second watermark.
 7. A method as defined in claim 1, further comprising alternately inserting copies of the second watermark and copies of the first watermark.
 8. A method as defined in claim 1, wherein the media identification information is a manufacturer identification number.
 9. A method as defined in claim 1, wherein the media identification information is embedded in the media.
 10. A method as defined in claim 1, wherein at least one of the first watermark and the second watermark is inserted in audio of the media.
 11. A method as defined in claim 1, further comprising: detecting authorization for monitoring at the media presentation device; and issuing a rebate in response to detecting the authorization.
 12. An apparatus comprising: a device interface to determine application identification information for a media presentation application executing on a media device; an application interface to request media identification information for media from the media presentation application; a data compiler to determine information for a first watermark for the application identification information from a lookup table and information for a second watermark for the media identification information from the lookup table; and a watermark generator to generate the first watermark and the second watermark, insert the first watermark in the media prior to output of the media by the media device, and insert the second watermark in the media prior to the output of the media by the media device.
 13. An apparatus as defined in claim 12, wherein the first watermark is a final distributor watermark and the second watermark is a program content watermark.
 14. An apparatus as defined in claim 12, wherein a time in content field of the second watermark indicates the media identification information.
 15. An apparatus as defined in claim 14, wherein a source identifier field of the second watermark indicates a platform of the media.
 16. An apparatus as defined in claim 12, wherein a time in content field of the first watermark indicates the application identification information.
 17. An apparatus as defined in claim 12, wherein the first watermark is inserted in the media substantially immediately after the second watermark.
 18. An apparatus as defined in claim 12, wherein the watermark generator is to alternately insert copies of the second watermark and copies of the first watermark.
 19. A tangible computer readable storage medium comprising instructions that, when executed cause a machine to at least: determine application identification information for a media presentation application executing on a media device; determine a first watermark for the application identification information from a lookup table; request media identification information for media from the media presentation application; determine a second watermark for the media identification information from the lookup table; insert the first watermark in the media prior to output of the media by the media device; and insert the second watermark in the media prior to the output of the media by the media device.
 20. A tangible computer readable storage medium as defined in claim 19, wherein the first watermark is a final distributor watermark and the second watermark is a program content watermark.
 21. A tangible computer readable storage medium as defined in claim 19, wherein a time in content field of the second watermark indicates the media identification information.
 22. A tangible computer readable storage medium as defined in claim 21, wherein a source identifier field of the second watermark indicates a platform of the media.
 23. A tangible computer readable storage medium as defined in claim 19, wherein a time in content field of the first watermark indicates the application identification information. 